package com.imut.oa.service;

import com.imut.oa.common.PageResult;
import com.imut.oa.pojo.dto.TaskDTO;
import com.imut.oa.pojo.dto.TaskPageQueryDTO;
import com.imut.oa.pojo.entity.Task;

import java.util.List;

public interface TaskService {
    /**
     * 分页查询
     * @param taskPageQueryDTO
     * @return
     */
    PageResult getTaskPage(TaskPageQueryDTO taskPageQueryDTO);
    /**
     * 添加任务
     * @param taskDTO
     */
    void addTask(TaskDTO taskDTO);

    /**
     * 删除任务
     * @param id
     * @return
     */
    int deleteById(Long id);
    /**
     * 取消任务
     * @param taskId
     */
    void cancelTask(Long taskId);
    /**
     * 获取任务历史
     * @param page
     * @param pageSize
     * @return
     */
    List<Task> getTaskHistory(int page, int pageSize);
    /**
     * 接受任务
     * @param taskId
     */
    void acceptTask(Long taskId);
    /**
     * 完成任务
     * @param taskId
     */
    void completeTask(Long taskId);
}
